"""
69 mySqrt
实现 int sqrt(int x) 函数。

计算并返回 x 的平方根，其中 x 是非负整数。

由于返回类型是整数，结果只保留整数的部分，小数部分将被舍去。

"""
class Solution:
    def mySqrt(self, x):
        """
        :type x: int
        :rtype: int
        """
        min = 0
        max = x
        mid = x // 2
        while min <= max:
            m = mid * mid
            if m > x:
                max = mid - 1
            elif m < x:
                min = mid + 1
            else:
                return mid
            mid = (min + max) // 2
        return mid
